/**
 * This is a generated class and is not intended for modification.  To customize behavior
 * of this service wrapper you may modify the generated sub-class of this class - DatabaseWrapper.as.
 */
package services.databasewrapper
{
import com.adobe.fiber.core.model_internal;
import com.adobe.fiber.services.wrapper.RemoteObjectServiceWrapper;
import com.adobe.serializers.utility.TypeUtility;
import mx.rpc.AbstractOperation;
import mx.rpc.AsyncToken;
import mx.rpc.remoting.Operation;
import mx.rpc.remoting.RemoteObject;
import valueObjects.VOComment;
import valueObjects.VOPlace;
import valueObjects.VOTrip;

import mx.collections.ItemResponder;
import com.adobe.fiber.valueobjects.AvailablePropertyIterator;

[ExcludeClass]
internal class _Super_DatabaseWrapper extends com.adobe.fiber.services.wrapper.RemoteObjectServiceWrapper
{

    // Constructor
    public function _Super_DatabaseWrapper()
    {
        // initialize service control
        _serviceControl = new mx.rpc.remoting.RemoteObject();

        // initialize RemoteClass alias for all entities returned by functions of this service
        valueObjects.VOTrip._initRemoteClassAlias();
        valueObjects.VOComment._initRemoteClassAlias();

        var operations:Object = new Object();
        var operation:mx.rpc.remoting.Operation;

        operation = new mx.rpc.remoting.Operation(null, "fetchAll_Trip");
         operation.resultElementType = valueObjects.VOTrip;
        operations["fetchAll_Trip"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "login");
         operation.resultType = Object;
        operations["login"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "register");
         operation.resultType = Object;
        operations["register"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "save_Trip");
         operation.resultType = valueObjects.VOTrip;
        operations["save_Trip"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "delete_Trip");
         operation.resultType = Boolean;
        operations["delete_Trip"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "update_profile");
         operation.resultType = Object;
        operations["update_profile"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "deletePlace");
         operation.resultType = Boolean;
        operations["deletePlace"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "fetch_Comments");
         operation.resultElementType = valueObjects.VOComment;
        operations["fetch_Comments"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "save_Comment");
         operation.resultType = valueObjects.VOComment;
        operations["save_Comment"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "delete_Comment");
         operation.resultType = Boolean;
        operations["delete_Comment"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "create_newType");
         operation.resultType = valueObjects.VOComment;
        operations["create_newType"] = operation;
        operation = new mx.rpc.remoting.Operation(null, "search_users_byNameLastName");
         operation.resultElementType = valueObjects.VOTrip;
        operations["search_users_byNameLastName"] = operation;

        _serviceControl.operations = operations;
        _serviceControl.convertResultHandler = com.adobe.serializers.utility.TypeUtility.convertResultHandler;
        _serviceControl.source = "DatabaseWrapper";
        _serviceControl.endpoint = "gateway.php";
        destination = "DatabaseWrapper";



         model_internal::initialize();
    }

    /**
      * This method is a generated wrapper used to call the 'fetchAll_Trip' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function fetchAll_Trip(user_id:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("fetchAll_Trip");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(user_id) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'login' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function login(username:Object, password:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("login");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(username,password) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'register' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function register(user:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("register");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(user) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'save_Trip' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function save_Trip(trip_object:valueObjects.VOTrip) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("save_Trip");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(trip_object) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'delete_Trip' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function delete_Trip(trip_object:valueObjects.VOTrip) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("delete_Trip");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(trip_object) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'update_profile' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function update_profile(user:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("update_profile");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(user) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'deletePlace' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function deletePlace(current_place:valueObjects.VOPlace) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("deletePlace");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(current_place) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'fetch_Comments' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function fetch_Comments(current_place:valueObjects.VOPlace) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("fetch_Comments");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(current_place) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'save_Comment' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function save_Comment(comment_obj:valueObjects.VOComment) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("save_Comment");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(comment_obj) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'delete_Comment' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function delete_Comment(comment_obj:valueObjects.VOComment) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("delete_Comment");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(comment_obj) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'create_newType' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function create_newType(place_object:Object) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("create_newType");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(place_object) ;

        return _internal_token;
    }
     
    /**
      * This method is a generated wrapper used to call the 'search_users_byNameLastName' operation. It returns an mx.rpc.AsyncToken whose 
      * result property will be populated with the result of the operation when the server response is received. 
      * To use this result from MXML code, define a CallResponder component and assign its token property to this method's return value. 
      * You can then bind to CallResponder.lastResult or listen for the CallResponder.result or fault events.
      *
      * @see mx.rpc.AsyncToken
      * @see mx.rpc.CallResponder 
      *
      * @return an mx.rpc.AsyncToken whose result property will be populated with the result of the operation when the server response is received.
      */
    public function search_users_byNameLastName(query:String) : mx.rpc.AsyncToken
    {
        var _internal_operation:mx.rpc.AbstractOperation = _serviceControl.getOperation("search_users_byNameLastName");
        var _internal_token:mx.rpc.AsyncToken = _internal_operation.send(query) ;

        return _internal_token;
    }
     
}

}
